The recent revolution in technologies for dynamically sharing virtualizations of hardware resources, software, and information storage across networks has increased the reliability, scalability, and cost efficiency of computing. More specifically, the ability to provide on demand virtual computing resources and storage through the advent of virtualization has enabled consumers of processing resources and storage to flexibly structure their computing and storage costs in response to immediately perceived computing and storage needs. Virtualization allows customers to purchase processor cycles and storage at the time of demand, rather than buying or leasing fixed hardware in provisioning cycles that are dictated by the delays and costs of manufacture and deployment of hardware. Rather than depending on the accuracy of predictions of future demand to determine the availability of computing and storage, users are able to purchase the use of computing and storage resources on a relatively instantaneous as-needed basis.
Virtualized computing environments are frequently supported by block-level storage. Such block-level storage provides a storage system that is able to interact with various computing virtualizations through a series of standardized storage calls that render the block-level storage functionally agnostic to the structural and functional details of the volumes that it supports and the operating systems executing on the virtualizations to which it provides storage availability.
Unfortunately, the paradigm of block-level storage that is functionally agnostic to the structural and functional details of various virtualizations forces enhancements of the storage to be performed, if at all, at the level of the virtualization, rather than at the level of the storage. Performance of storage enhancements at the virtualization frequently involves prohibitive inefficiencies, such as transmission and retransmission of data across a network, which increase the cost and delay associated with some enhancements and result in the decision not to undertake others. The user is left with overall storage performance that, lacking enhancements at the level of the storage itself, produces a negative impact on the efficiency of the virtualized computing supported by the storage.
While the technology described herein is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the disclosure to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims.